// Promise 的基本语法



// const promise = new Promise((resolve, reject) => {
//     if (操作成功) {
//         resolve(value); // 将promise状态改为fulfilled
//     } else {
//         reject(reason); //将promise的状态改为rejected
//     }
// });

// promise
//     .then((value) => {
//         console.log("成功：", value);
//     })
//     .catch((reason) => {
//         console.log("失败：", reason);
//     });

// 链式调用
// then方法返回一个新的Promise，因此可以进行链式调用。这使得可以依次处理多个异步操作，而不用陷入回调地狱

// 模拟异步操作函数

function doSomething() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log("完成了 doSomthing");
            resolve("结果1");
        }, 1000);
    });
}

function doSomethingElse(result) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log("完成了doSomethingElse, 接收到:", result);
            resolve("结果2");
        }, 1000);
    });
}

function doThirdThing(result) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log("完成了 doThirdThing， 接收到：", result);
            resolve("结果3");
        }, 1000);
    });
}

// 链式调用
doSomething()
    .then((result) => {
        return doSomethingElse(result); // 使用上一步的结果进行下一步操作
    })
    .then((newResult) => {
        return doThirdThing(newResult);
    })
    .then((finalResult) => {
        console.log("最终结果：", finalResult);
    })
    .catch((error) => {
        console.error("发生错误：", error);
    });
